package com.ocean.business.mapper;

import com.ocean.business.domain.DownTotalDo;
import com.ocean.business.domain.ProductReportDo;
import com.ocean.business.domain.UploadingTotalDo;
import com.ocean.business.domain.query.DownTotalQuery;
import com.ocean.business.domain.query.UploadStatisticsParticularsQuery;
import com.ocean.common.core.domain.entity.SysUser;
import com.ocean.inxex.domain.SysFtpConfig;
import com.ocean.inxex.domain.SysFtpLog;
import com.ocean.productDict.domain.oNcfileMonitor;
import com.ocean.system.domain.ODownwebDwon;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author: FuGui Wang
 * @Description: 后台系统-统计管理 mapper
 * @Date 2022/12/5
 * @Version V1.1.0
 */
public interface BusinessStatisticsMapper {

    /**
     * 统计管理-按下载量统计列表
     * @param query 检索条件
     * @return 数据集合
     */
    List<DownTotalDo> selectDownloadStatisticsList(@Param("query") DownTotalQuery query);

    /**
     * 统计管理-产品上传统计
     * @param query 检索条件
     * @return 数据集合
     */
    List<UploadingTotalDo> selectUploadingStatisticsList(@Param("query") DownTotalQuery query);

    /**
     * 统计管理-导出-详情
     * @param query 检索条件
     * @return 数据集合
     */
    List<ProductReportDo> selectUploadingParticularsList(@Param("query") DownTotalQuery query);

    /**
     * 统计管理-查看详情
     * @param query 检索条件
     */
    List<ProductReportDo> viewParticulars(@Param("query") UploadStatisticsParticularsQuery query);

    /**
     * 查询产品列表
     * @param query
     * @return
     */
    List<UploadingTotalDo> selecplist(@Param("query") DownTotalQuery query);

    /**
     * 查询每个产品报到数量等
     * @param productId
     * @param number
     * @return
     */
    int selenum(@Param("productId") String productId, @Param("number") String number,@Param("productName") String productName,@Param("beginTime") String beginTime,@Param("endTime") String endTime,@Param("deptName") String deptName);

    List<Double> getzsize();

    List<oNcfileMonitor> getsj(@Param("type")String type);

    List<ODownwebDwon> getxzsl();

    List<SysFtpLog> gettssj();

    List<SysFtpConfig> gettsyhsj();
}
